home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / easyvi1a / vbmemcap.frm (.txt) < prev    next >
Visual Basic Form  |  1997-11-18  |  5KB  |  153 lines

  1. VERSION 5.00
  2. Begin VB.Form frmMain 
  3.    Caption         =   "VB Memcap"
  4.    ClientHeight    =   3480
  5.    ClientLeft      =   165
  6.    ClientTop       =   735
  7.    ClientWidth     =   4185
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   232
  10.    ScaleMode       =   3  'Pixel
  11.    ScaleWidth      =   279
  12.    StartUpPosition =   3  'Windows Default
  13.    Begin VB.Menu mnuFile 
  14.       Caption         =   "&File"
  15.       Begin VB.Menu mnuExit 
  16.          Caption         =   "E&xit"
  17.       End
  18.    End
  19.    Begin VB.Menu mnuControl 
  20.       Caption         =   "&Control"
  21.       Begin VB.Menu mnuStart 
  22.          Caption         =   "&Start"
  23.       End
  24.       Begin VB.Menu mnuDisplay 
  25.          Caption         =   "&Display"
  26.       End
  27.       Begin VB.Menu mnuFormat 
  28.          Caption         =   "&Format"
  29.          Shortcut        =   ^F
  30.       End
  31.       Begin VB.Menu mnuSource 
  32.          Caption         =   "S&ource"
  33.       End
  34.       Begin VB.Menu mnuCompression 
  35.          Caption         =   "Co&mpression"
  36.       End
  37.       Begin VB.Menu mnuLine1 
  38.          Caption         =   "-"
  39.       End
  40.       Begin VB.Menu mnuPreview 
  41.          Caption         =   "&Preview"
  42.          Checked         =   -1  'True
  43.          Shortcut        =   ^P
  44.       End
  45.    End
  46. Attribute VB_Name = "frmMain"
  47. Attribute VB_GlobalNameSpace = False
  48. Attribute VB_Creatable = False
  49. Attribute VB_PredeclaredId = True
  50. Attribute VB_Exposed = False
  51. '* Author: E. J. Bantz Jr.
  52. '* Copyright: None, use and distribute freely ...
  53. '* E-Mail: ejbantz@usa.net
  54. '* Web: http://www.inlink.com/~ejbantz
  55. '* Original C Code Author: Neil Kolban
  56. '* E-Mail: kolban@onramp.net
  57. '* Web: http://rampages.onramp.net/~kolban/video
  58. Option Explicit
  59. Dim lwndC As Long       ' Handle to the Capture Windows
  60. Dim lNFrames As Long  ' Number of frames captured
  61. Sub ResizeCaptureWindow(ByVal lwnd As Long)
  62.     Dim CAPSTATUS As CAPSTATUS
  63.     '// Get the capture window attributes .. width and height
  64.     capGetStatus lwnd, VarPtr(CAPSTATUS), Len(CAPSTATUS)
  65.         
  66.     '// Resize the capture window to the capture sizes
  67.     SetWindowPos lwnd, HWND_BOTTOM, 0, 0, _
  68.                        CAPSTATUS.uiImageWidth, _
  69.                        CAPSTATUS.uiImageHeight, _
  70.                        SWP_NOMOVE Or SWP_NOZORDER
  71.          
  72. End Sub
  73. Private Sub Form_Load()
  74.     Dim lpszName As String * 100
  75.     Dim lpszVer As String * 100
  76.     Dim Caps As CAPDRIVERCAPS
  77.     '//Create Capture Window
  78.     capGetDriverDescriptionA 0, lpszName, 100, lpszVer, 100  '// Retrieves driver info
  79.     lwndC = capCreateCaptureWindowA(lpszName, WS_CHILD Or WS_VISIBLE, 0, 0, 160, 120, Me.hwnd, 0)
  80.     '// Connect the capture window to the driver
  81.     capDriverConnect lwndC, 0
  82.     '// Get the capabilities of the capture driver
  83.     capDriverGetCaps lwndC, VarPtr(Caps), Len(Caps)
  84.     '// If the capture driver does not support a dialog, grey it out
  85.     '// in the menu bar.
  86.     If Caps.fHasDlgVideoSource = 0 Then mnuSource.Enabled = False
  87.     If Caps.fHasDlgVideoFormat = 0 Then mnuFormat.Enabled = False
  88.     If Caps.fHasDlgVideoDisplay = 0 Then mnuDisplay.Enabled = False
  89.     '// Set the video stream callback function
  90.     capSetCallbackOnVideoStream lwndC, AddressOf MyVideoStreamCallback
  91.     capSetCallbackOnFrame lwndC, AddressOf MyFrameCallback
  92.     '// Set the preview rate in milliseconds
  93.     capPreviewRate lwndC, 66
  94.     '// Start previewing the image from the camera
  95.     capPreview lwndC, True
  96.         
  97.     '// Resize the capture window to show the whole image
  98.     ResizeCaptureWindow lwndC
  99. End Sub
  100. Private Sub Form_Unload(Cancel As Integer)
  101.     '// Disable all callbacks
  102.     capSetCallbackOnError lwndC, vbNull
  103.     capSetCallbackOnStatus lwndC, vbNull
  104.     capSetCallbackOnYield lwndC, vbNull
  105.     capSetCallbackOnFrame lwndC, vbNull
  106.     capSetCallbackOnVideoStream lwndC, vbNull
  107.     capSetCallbackOnWaveStream lwndC, vbNull
  108.     capSetCallbackOnCapControl lwndC, vbNull
  109. End Sub
  110. Private Sub mnuCompression_Click()
  111. '   /*
  112. '   * Display the Compression dialog when "Compression" is selected from
  113. '   * the menu bar.
  114. '   */
  115.     capDlgVideoCompression lwndC
  116. End Sub
  117. Private Sub mnuDisplay_Click()
  118. '   /*
  119. '   * Display the Video Display dialog when "Display" is selected from
  120. '   * the menu bar.
  121. '   */
  122.     capDlgVideoDisplay lwndC
  123. End Sub
  124. Private Sub mnuExit_Click()
  125.     Unload Me
  126. End Sub
  127. Private Sub mnuFormat_Click()
  128. '  /*
  129. '   * Display the Video Format dialog when "Format" is selected from the
  130. '   * menu bar.
  131. '   */
  132.     capDlgVideoFormat lwndC
  133.     ResizeCaptureWindow lwndC
  134. End Sub
  135. Private Sub mnuPreview_Click()
  136.     mnuPreview.Checked = Not (mnuPreview.Checked)
  137.     capPreview lwndC, mnuPreview.Checked
  138. End Sub
  139. Private Sub mnuSource_Click()
  140. '   /*
  141. '    * Display the Video Source dialog when "Source" is selected from the
  142. '    * menu bar.
  143. '    */
  144.     capDlgVideoSource lwndC
  145. End Sub
  146. Private Sub mnuStart_Click()
  147. '  * If Start is selected from the menu, start Streaming capture.
  148. '  * The streaming capture is terminated when the Escape key is pressed
  149. '  */
  150.     lNFrames = 0
  151.     capCaptureSequenceNoFile lwndC
  152. End Sub
  153.